// pages/douyu/douyu.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        roomList:[],
        page:1
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
       this.getData()
    },

    // 封装请求函数
    getData(bottom){
        wx.showLoading({
          title: '正在加载...',
        })
        wx.request({
            url: 'https://m.douyu.com/api/room/list',
            data:{
                page:this.data.page
            },
            success: res=>{
                if(bottom){
                    this.data.roomList.push(...res.data.data.list)
                }else{
                    this.data.roomList.unshift(...res.data.data.list)
                } 
                this.setData({
                  roomList:this.data.roomList
                })
                wx.hideLoading() // 隐藏加载提示
                wx.stopPullDownRefresh() // 立即结束下拉刷新
                console.log(res.data.data.list);
            }
          })
          this.setData({
              page:this.data.page+1
          })
    },

   

   

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        console.log("下拉");
        this.getData(false)
    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {
        console.log("触底");
        this.getData(true)
    },

    // 跳转到直播网页
    goToWeb(e){
        // console.log(e.currentTarget.dataset.id);
        // wx.navigateTo({
        //   url: '/pages/web-view/web-view?id='+e.currentTarget.dataset.id,
        // })
        wx.navigateTo({
          url: '/pages/web-view/web-view?id='+e.detail,
        })
    },

    // 父组件中查找子组件实例
    onReady(){

        setTimeout(()=>{
            let child = this.selectComponent(".myCom0")
            // 只能找到第一个符合要求的子组件实例
            console.log("=====",child);
        },1000)
        // 注意:初始化,roomlist为空,不会渲染子组件,会先渲染父组件,数据请求下来后,刷新渲染子组件,所以父组件的onReady可能在数据请求下来前就执行了,此时child为null,也可能是数据请求比较快,onReady还没执行,数据就更新了,此时会先渲染子组件后渲染父组件
        // 结论:找子组件要在按钮事件函数中找或onReady延时找
    }
       
    
})